﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using Hiro.Interfaces;

namespace Hiro.ActivationPoints.Interfaces
{
    /// <summary>
    /// Represents the activation point used for property injection.
    /// </summary>
    public interface IPropertyActivationPoint : IActivationPoint
    {
        /// <summary>
        /// Gets the value indicating the target type that holds the target property.
        /// </summary>
        /// <value>The declaring type of the target property.</value>
        Type TargetType { get; }

        /// <summary>
        /// Gets the value indicating the property that will be used for property injection.
        /// </summary>
        /// <value>The <see cref="PropertyInfo"/> object that describes the target property.</value>
        PropertyInfo TargetProperty { get; }
    }
}
